<-- back

Rotated Matrix

Link

First, flip the matrix across the middle, and then flip it across it's y=x diagonal.

Full Solution in Java:

public class Solution { public void rotate(int[][] matrix) { for(int i=0; i< matrix.length; i++){ for(int j=0; j< matrix[i].length/2; j++){ int temp = matrix[i][j]; matrix[i][j] = matrix[i][matrix[i].length-j-1]; matrix[i][matrix[i].length-j-1] = temp; } } int iter = matrix[0].length-1; for(int i=0; i< matrix.length; i++){ iter--; for(int j=0; j<=iter; j++){ int displacement = matrix.length-1-(i+j); int temp = matrix[i+displacement][j+displacement]; matrix[i+displacement][j+displacement] = matrix[i][j]; matrix[i][j] = temp; } } } }